This application is being filed with a software code appendix which contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the software code or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
A compact disc, and an identical duplicate thereof, containing a computer program listing appendix of the Software Appendix has been submitted, both of which are herein incorporated by reference. Each compact disc contains a single ASCII text file named xe2x80x9c09xe2x80x94166,487 Appendix.Txtxe2x80x9d, which was created on Jan. 22, 2002 and is 44 kilobytes in size.
1. Field of the Invention
The present invention relates to a system for transmitting real time digital video data (including both audio and video) over a local area network. More specifically, the present invention relates to a system for transmitting digital video data from an isochronous source such as a digital video camera using IEEE 1394 isochronous protocol, through an asynchronous local area network, to an isochronous destination such as another digital video camera or a monitor via IEEE 1394 isochronous protocol, all while maintaining isochrony of transmission and delivery.
2. Description of Related Art
Local Area Networks (LANs) have traditionally been used for accessing files or sending print data to a networked printer. Data delivery on a network such as Ethernet is asynchronous, meaning that there is no synchronization between transmission time and delivery time. Rather, for the typical application, the most critical feature of the network is its guarantee that data will be delivered successfully.
Digital video data, on the other hand, is unique in that the timeliness with which data is delivered is more important than the guarantee of data delivery. Specifically, because of the fleeting nature of digital video data, if it is not delivered in time, then its guaranteed delivery at a later time is meaningless since the data will be stale and simply not used.
One popular protocol for carrying digital video data is the IEEE 1394 isochronous protocol, where the timely delivery of digital video data is more critical than the guarantee of its delivery. Digital video data is carried on an IEEE 1394 serial bus (popularly referred to by the trademark xe2x80x9cFire Wirexe2x80x9d) as isochronous data. The term isochronous means equal-time, and in the context of IEEE 1394 protocol means that new data is available at cyclical intervals (such as every 125 microseconds) although the timing of data within any one interval is uncertain. The isochronous nature of this data is such that data of this type has no value if it is received after its specific time window of use. In fact, the timely delivery of this data is so critical that in the case of a transmission error no retries are attempted. It was recognized by the designers of the IEEE 1394 bus protocol that by the time any retry attempts could be made, the time window for the usage of isochronous data would be passed.
Digital video (xe2x80x9cDVxe2x80x9d) data is transmitted under IEEE 1394 as isochronous data packets that may contain both audio and video components. Although there is no guarantee that a packet can be sent exactly at a periodic rate, IEEE 1394 guarantees that data is available sometime within each periodic interval (equal to 125 micro-seconds). Another feature of the IEEE 1394 interface is that applications can reserve bandwidth (or xe2x80x9cchannelsxe2x80x9d) in the IEEE 1394 bandwidth and therefore delivery of a digital video packet can be guaranteed.
The IEEE 1394 industry standard interface provides superior bandwidth for high speed transmission of data. Because of its unique features, the IEEE 1394 high speed serial bus is used for transmitting full-motion digital video from a digital video camera, to a digital video recorder, to a personal computer, or to any peripheral device which may store or display the video. Currently, however, the IEEE 1394 standard interface has at least one shortcoming: the maximum cable length is limited to 4.5 meters. Therefore, digital video data cannot be transferred and viewed in real time at a remote location greater than 4.5 meters from the source of the video data.
Although the cable length limitation is being addressed by a new version of the IEEE 1394 standard, this newer version would involve costly and non-standard usages, such as a fiber optic cable with different IEEE 1394 components.
On the other hand, asynchronous networks such as Ethernet are in widespread use, and provide geographically remote access to large volumes of data. Particularly, with-the recent introduction of 100 BaseT and Gigabit Ethernet, fast access to large volumes of data is also provided. It is therefore expected that the Ethernet interface will continue to offer a lower cost, higher speed and longer distance connection than an equivalent IEEE 1394 connection. It is for this reason there is a benefit to find a way to provide the transport of isochronous digital video data across an asynchronous transport that does not inherently provide isochrony.
It is therefore an object of the present invention to transmit digital video data (video and audio) over a high speed local area network. More specifically, the present invention relates to sending isochronous data over an asynchronous network transport that does not specifically support isochrony.
It is another object of the present invention to provide a system for transmitting digital video data, which is output isochronously, between peripheral devices in real time by integrating a local area network between the transmitting digital video camera and the receiving digital video camera. It is also an object of the present invention to provide a method and an apparatus for maintaining real time transfer of the isochronous video data without degradation of the video signal.
Thus, according to one aspect, the present invention is a digital video network interface for transferring isochronous video data over an asynchronous local area network. The digital video network interface includes, on a transmitting side, an isochronous interface for receiving digital video data isochronously, a buffer comprising first and second memory areas for storing the isochronous video data, and a network interface for transmitting video data from either the first or second memory areas over the asynchronous local area network. On a reception side, the digital video network interface also includes a reception memory buffer manager for controlling receipt of the video data from the asynchronous network and the storage of the data into memory, which is not ordinarily partitioned into first and second memory areas. An input pointer is used to track where newly received asynchronous data is stored to memory, and an empty pointer is used to track where data is extracted from memory for conversion to isochronous data. The memory buffer manager shifts the input of data into the memory pointed to by the input pointer and begins outputting video data from the memory pointed to by the empty pointer to an isochronous packet handler that converts the asynchronous data to isochronous. The isochronous data may thereafter be utilized in accordance with IEEE 1394 protocol, such as by viewing on a digital video camera.
By virtue of the foregoing arrangement, even though the network is an asynchronous data carrier, isochronous data can be transmitted over a network that does not support isochrony, since it is the sending and receiving stations that are responsible for maintaining isochrony. In particular, buffering at the transmitting end accommodates delays that might occur while waiting to access to the asynchronous network, while buffering at the receiving end accommodates delays in new asynchronous packets, by buffering data packets that had previously arrived too quickly for the isochronous packet handler to accommodate. As a result, although latency is introduced in the digital video data (corresponding to the length of the buffers but preferably below around 0.3 seconds), isochronous transmission and reception is preserved, even over an asynchronous network that does not support isochrony. Moreover, as the data-carrying capacity of the network increases, the latency can be reduced since the amount of buffering needed to ensure data availability can be reduced. For example, in a Gigabit Ethernet whose bandwidth is 125 MBytes/second, as compared to digital video data of 3.7 MBytes/second, the delivery of 1000 data packets in 125 milliseconds is virtually certain, and can be achieved with a latency of only 0.125 seconds.
In another aspect of the invention, the present invention is a method for transferring data between an isochronous data source and an asynchronous local area network. Data packets are received isochronously from an isochronous data. source, the data packets from the isochronous data source are stored in a buffer having first and second memory areas, and the asynchronous local area network is accessed. To transfer the data packets over the asynchronous local area network, the data packets are stored in either the first or second memory areas of the buffer such that when one memory area is filled, the other memory area receives data, and data packets from the filled memory area are transferred. Upon the filling of a memory area, network access is requested and, upon receiving access, the data packets from the filled memory location are output over the asynchronous local area network.
In yet another aspect of the invention, the present invention is a digital video network system which includes an asynchronous local area network for transferring data, a digital video camera for generating digital video data isochronously, and a remote digital video device for receiving digital video data isochronously. A transmitting-side digital video network interface transfers data between the digital video camera and the asynchronous network, with the transmitting-side digital video network interface having an isochronous interface for receiving data packets from the digital video camera isochronously, a transmit buffer having first and second memory locations for storing data packets, a network interface for transferring the data packets from either the first or second memory locations of the buffer through the asynchronous local area network, and a transmit memory buffer manager for 1) controlling the transfer of data packets from the isochronous interface to either of the first or second memory locations in the buffer, and 2) controlling the transfer of data packets from either the first or second memory locations of the buffer through the network interface by requesting access to the asynchronous local area network. According to this aspect of the invention, the transmit memory buffer manager controls the storage of the data packets into either the first or second memory location of the buffer, and, when one memory location has been filled, the transmit memory buffer manager requests access to the network. Upon receiving access, data packets from the filled memory location are transmitted.
On the receiving side, the digital video network system includes a receiving-side digital video network interface for transferring data between the asynchronous local area network and the peripheral digital video device. The receiving-side digital video network interface includes a network interface for receiving video data packets from the asynchronous local area network, a receipt buffer for storing asynchronous data, a receiving isochronous interface for transmitting video data packets to the peripheral digital video device, and a receipt memory buffer manager for 1) controlling the transfer of data packets from the network interface to the receipt buffer at a location pointed to by an input pointer, and 2) controlling the transfer of video data packets from the buffer at a location pointed to by an empty pointer to the receiving isochronous interface. The receipt memory buffer manager controls the output of video data in an isochronous fashion from the buffer through to the receiving isochronous interface.
In another aspect of the invention, for use in a digital video conferencing system, the full-duplex capability of the asynchronous network is used to simultaneously transmit isochronous digital video data between 1394 network controllers in each direction. A second digital video camera, recording device, or display monitor is added to the 1394 interface bus of each controller such that the isochronous bandwidth of the bus is shared by a transmitting device and a receiving device on that bus. Each 1394 network controller establishes both an isochronous transmit communications process and a isochronous receiving communications process with the other 1394 network controller through the asynchronous network that connects them.
In yet another aspect of the invention, for use in a digital video conferencing system, digital video data is transmitted bi-directionally from one isochronous bus to another isochronous bus via an asynchronous network. An isochronous communication and an asynchronous network connection are established at the receiving side, and an isochronous communication and an asynchronous network connection are established at the sending side. The sending side and receiving side negotiate to open an asynchronous transmission. Isochronous digital video data is converted into asynchronous network data at the sending side, the asynchronous network data packets are transmitted to the receiving side, the asynchronous network data is received at the receiving side, and the asynchronous network data is converted to isochronous digital video data at the receiving side. Likewise, isochronous digital video data is converted into asynchronous network data at the receiving side, the asynchronous network data packets are transmitted to the sending side, the asynchronous network data is received at the sending side, and the asynchronous network data is converted to isochronous digital video data at the sending side.
These and other features and advantages according to the present invention will be more readily understood by reference to the following detailed description of the preferred embodiment taken in conjunction with the attached drawings.